Maven属性和使用

您所在的位置:网站首页 pom project Maven属性和使用

Maven属性和使用

2024-07-04 03:44| 来源: 网络整理| 查看: 265

maven的属性可以理解为我们定义了一个变量,后面使用这个变量,如: 定义属性

zhangsan

使用属性,其中${name}会被替换成zhangsan

src/main/${name} maven属性

在maven中,系统内置了一些公共属性,如${project.basedir}表示当前项目的路径,如我们新建了一个maven项目,pom文件所在的路径即是项目路径,这里是:C:\TempData\my-workspace\fast-group 在这里插入图片描述

工程内置属性

当我们新建一个工程时,这个工程会内置一些属性,这里新建工程结构如下:

C:\TempData\ericsson-workspace --test-maven --src --main/java --main/resources --target --classes --pom.xml

对应上述工程结构如下,

内置属性描述对应项目映射${project.basedir}项目根目录,pom.xml文件所在的目录C:\TempData\ericsson-workspace\test-maven${project.build.directory}构建工作路径,默认为targetC:\TempData\ericsson-workspace\test-maven\target${project.build.outputDirectory}构建输出目录,默认为target\classesC:\TempData\ericsson-workspace\test-maven\target\classes${project.build.sourceDirectory}源代码所在目录,默认为src\main\javaC:\TempData\ericsson-workspace\test-maven\src\main\java

项目结构扩展的属性,当我们新建一个maven项目pom文件时候,产生如下内容

4.0.0 com.ericsson test-maven 0.1 jar test-maven http://maven.apache.org

其中xml根节点为project,那么将产生工程属性,如${project.artifactId}在这里将是项目名:test-maven,${project.version}为0.1,那么,当我们新建完一个工程后,我们将会有下面这些工程属性

内置属性描述对应项目${project.groupId}组织名称,一般是网址名称反着写,如www.google.com.cn,将写成cn.com.googlecom.ericsson${project.artifactId}项目名称,我们的项目名test-maven${project.version}版本号0.1${project.packaging}打包类型jar${project.build.finalName}项目打包输出文件的名称,默认为${project.artifactId}-${project.version}test-maven-0.1.jar

这里只给出了一部分,其余的可根据pom文件结构自动推出,如${project.name}=test-maven 在这里插入图片描述

maven属性

由于maven安装以后,有全局配置settings.xml文件,在maven的安装目录下, 在这里插入图片描述

其中也会有配置文件 在这里插入图片描述

如${settings.localRepository},这里对应我配置的C:\TempData\maven-workspace,由于大家配置的不一致,这里不做详解

工程自定义属性

可以自定义变量,也可以修改工程已有的变量,在properties属性节点下添加,如下所示

UTF-8 UTF-8 UTF-8 ${project.version} 4.3.18.RELEASE 9.4.8.v20171121 2.26 root 123456 zhangsan yyyyMMdd-HHmm profiles分组属性,-P

我们构建maven项目的时候,根据传入id表示,可以取对应表示id下的环境变量,如mvn install -P dev,那么${jdbc.username}的值将为it

dev dev it true release release root beta beta admin 传入参数属性,-D

如我们不要test阶段,我们可以使用参数控制clean package -Dmaven.test.skip=true

我们可以像运行java程序一样,通过参数形式传递属性,如mvn install -P dev -Dhaha=1234,这里配置对应的haha参数 在这里插入图片描述 再将参数输出 在这里插入图片描述 如果要发送多个变量,请使用多个空格分隔符加-D: mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package

系统变量、环境变量属性

环境变量是根据系统环境来取的,这里我们可以通过命令行mvn help:system查看所有的属性

系统属性 在这里插入图片描述 系统属性直接配置${系统属性名},这里配置${sun.desktop},输出windows 在这里插入图片描述

环境属性 在这里插入图片描述 环境属性需要配置以env.开头的Maven属性引用,${env.环境属性名},这里配置${env.NUMBER_OF_PROCESSORS},输出4 在这里插入图片描述

maven使用

我们定义的属性可以在xml文件或者properties文件中使用

在xml中使用如下,任意位置替换 在这里插入图片描述 相当于一个占位符使用 在这里插入图片描述

properties文件中使用 新增一个jdbc.properties文件,文件内容如下

jdbc.username=${jdbc.username}

定一个属性

dev dev it true release release root beta beta admin

配置一个resource文件的包含,配置属性filtering置为true,将替换classes下面的文件

src/main/resources true **/*.properties

执行命令:mvn clean install -P release,查看classes下面的文件 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3